irqchip: irq-bcm2836: Remove regmap and syscon use
authorPhil Elwell <phil@raspberrypi.org>
Tue, 23 Jan 2018 16:52:45 +0000 (16:52 +0000)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 15 Feb 2018 17:41:13 +0000 (17:41 +0000)
commit2e3ee27f1409224f1d23a4ebbbdba957b6064cea
treefadaffc8fac30d03b22272b6c9fe35bc13a2dbb0
parent62019955f218942bffc0e8a95d9492341da9e9ad
irqchip: irq-bcm2836: Remove regmap and syscon use

The syscon node defines a register range that duplicates that used by
the local_intc node on bcm2836/7. Since irq-bcm2835 and irq-bcm2836 are
built in and always present together (both drivers are enabled by
CONFIG_ARCH_BCM2835), it is possible to replace the syscon usage with a
global variable that simplifies the code. Doing so does lose the
locking provided by regmap, but as only one side is using the regmap
interface (irq-bcm2835 uses readl and write) there is no loss of
atomicity.

See: https://github.com/raspberrypi/firmware/issues/926

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
arch/arm/boot/dts/bcm2709.dtsi
arch/arm/boot/dts/bcm2710.dtsi
drivers/irqchip/irq-bcm2835.c
drivers/irqchip/irq-bcm2836.c